package com.jt.sp04orderservice.feign;

import com.jt.sp01.entity.Item;
import com.jt.web.util.JsonResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import javax.ws.rs.POST;
import java.util.List;

/**
 * @author 郭鲁政
 * caseby:
 * 1.服务没有启动,注册表中不存在
 * 2.服务注册已经启动,有注册信息,需要等待30s
 */
@FeignClient(name = "item-service")
public interface ItemClient {
    /**
     * 远程调用商品服务 获取商品
     * @param orderId 商品id
     * @return 根据id查询出来的商品列表
     */
    @GetMapping("/{orderId}")
    JsonResult<List<Item>> getItems(@PathVariable(name = "orderId") String orderId);

    /**
     * 远程调用商品服务 删除商品
     * @param items 商品列表
     * @return
     */
    @PostMapping("/decreaseNumber")
    JsonResult<?> decreaseNumber(@RequestBody List<Item> items);
}
